home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / faq / comp / object_f / part7 < prev    next >
Text File  |  1993-12-14  |  61KB  |  1,523 lines

  1. Newsgroups: comp.object,comp.answers,news.answers
  2. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nic.hookup.net!swrinde!sdd.hp.com!vixen.cso.uiuc.edu!uchinews!news
  3. From: Bob Hathaway <rjh@geodesic.com>
  4. Subject: Comp.Object FAQ Version 1.0.5 (12-13) Part 7/8
  5. Message-ID: <1993Dec14.044957.18615@midway.uchicago.edu>
  6. Followup-To: comp.object
  7. Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology
  8. Sender: news@uchinews.uchicago.edu (News System)
  9. Organization: Geodesic Systems
  10. Date: Tue, 14 Dec 1993 04:49:57 GMT
  11. Approved: news-answers-request@MIT.Edu
  12. Lines: 1508
  13. Xref: senator-bedfellow.mit.edu comp.object:13854 comp.answers:2995 news.answers:15753
  14.  
  15. Archive-name: object-faq/part7
  16. Last-Modified: 12/13/93
  17. Version: 1.0.5
  18.  
  19. Arjuna Mailing List
  20.  
  21. To enable us to  help people using Arjuna,  an electronic mail list has 
  22. been setup. You can join  the Arjuna mailing list  by sending an e-mail 
  23. message to "mailbase@mailbase.ac.uk" containing:
  24.  
  25. join arjuna <Your Name>
  26.  
  27. For example : join arjuna John Smith
  28.  
  29. Mail  messages  can  then   be  sent  to  "arjuna@mailbase.ac.uk",  for 
  30. distribution.
  31.  
  32.  
  33. Arjuna Project Team
  34. The Department of Computing Science,
  35. The University,
  36. Newcastle upon Tyne.
  37. NE1 7RU, UK.
  38.  
  39. Fax:           +44 91 222 8232
  40. e-mail:        arjuna@newcastle.ac.uk
  41. anonymous ftp: arjuna.ncl.ac.uk (128.240.150.1)
  42.  
  43. EMAIL = arjuna@newcastle.ac.uk
  44. POST  = Computing Laboratory, The University, Newcastle upon Tyne, UK NE1 7RU
  45. VOICE = +44 91 222 8067         FAX = +44-91-222-8232
  46.  
  47. Subject: Arjuna papers announcement
  48. Date: Tue, 8 Jun 1993 16:47:02 GMT
  49.  
  50. This is to announce the availability of most Arjuna related papers and
  51. theses via anonymous ftp from arjuna.ncl.ac.uk. These papers are
  52. available in both US Letter and European A4 standards in postscript and
  53. should now print on systems. Any problems in printing should be directed to
  54. arjuna@newcastle.ac.uk.
  55.  
  56. Since there are too many papers to describe in one posting there is an index
  57. available in /pub/Arjuna/Index which contains the abstracts from all of
  58. the papers/theses and their locations within the ftp hierarchy.
  59.  
  60.  
  61. >3  BOS (prototyping)
  62.  
  63. What: BOS
  64. From: Sean.Levy@cs.cmu.edu
  65. Date: 23 Apr 92 18:07:32 GMT
  66.  
  67. [For readers of comp.object and self-interest, BOS is a prototype-based
  68. object system that I have, er, prototyped in Tcl. It is available via anon
  69. FTP to monch.edrc.cmu.edu under /usr0/snl/archive/bos-1.2.tar.Z (you have to
  70. cd to /usr0/snl/archive first and then get the file, due to CMU security hacks
  71. in ftpd). I thought that this would be of interest to comp.object and
  72. self-interest, so I'm cross-posting/mailing --S]
  73.  
  74. Note: I play very fast and loose with the terminology of OOP to get my
  75. point across. I apologize if I offend any sensibilities, and will clarify what
  76. I say if it is obfuscated by my use of terms.
  77.  
  78.  
  79. >4  G++ for DOS (Many sites)
  80.  
  81. :From: DJ Delorie <dj@ctron.com>
  82. :Newsgroups: gnu.announce,gnu.misc.discuss
  83.  
  84. :               DJGPP 1.10 is now available!
  85.                          :
  86.                          :
  87. :               --- DJGPP - G++ for MSDOS/386 ---
  88.  
  89. :djgpp is normally uploaded to:
  90. :  omnigate.clarkson.edu                 128.153.4.2     pub/msdos/djgpp
  91. :  math.utexas.edu                       128.83.133.215  pub/msdos/djgpp(*)
  92. :  ftp.uni-koeln.de                      134.95.128.208
  93. :                                                       msdos/gnuprogs/djgpp (*)
  94. :  ftp.eb.ele.tue.nl                     131.155.40.15
  95. :                                                       pub/pc/gnu/gcc-pl* & gcc-newst
  96. :  wowbagger.pc-labor.uni-bremen.de      134.102.228.9   pub/msdos/djgpp
  97. :  src.doc.ic.ac.uk                      146.169.2.1     ibmpc/djgpp
  98. :  ftp.mcc.ac.uk                         130.88.200.7    pub/djgpp
  99. :  UK.AC.MCC.FTPJ (JANET)                user<guest>     <PUB>djgpp
  100.  
  101. :(*) Please do not access during working hours (7am - 6pm their local time)
  102.  
  103.  
  104. >5  cooC (Concurrent, OO C ext.)
  105.  
  106. From: maeda@isl.rdc.toshiba.co.jp (Ken-ichi Maeda)
  107. Subject: cooC FTP release (2nd posting)
  108. Date: 2 Jul 93 15:13:11
  109. Organization: TOSHIBA R & D Center, Kawasaki, JAPAN.
  110.  
  111.         We are pleased to announce the release of new object oriented
  112. language based on C.  The language has support for concurrent object
  113. execution with synchronous or asynchronous message pssaing and wait when
  114. necessary reply handling.  The language known as cooC (concurrent object
  115. oriented C) is available by anonymous FTP for research purposes.
  116.  
  117.         FTP Site:  tsbgw.isl.rdc.toshiba.co.jp (133.196.1.11)
  118.         File: pub/toshiba/cooc-beta.1.1.tar.Z
  119.  
  120.         The released version of cooC employs SunOS(TM) LWP (light weight
  121. process), to obtain concurrent execution.  The release consists of the
  122. language translator (cooC->C), a runtime library (SunOS(TM)), a
  123. concurrent object based debbuger, an example groupware application
  124. (SharedDraw) and some technical papers.
  125.  
  126. BECAUSE THE SYSTEM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
  127. ANY PART OF THE SYSTEM.
  128.  
  129.         TOSHIBA Corporation while making cooC free for research, retains
  130. copyright.
  131.  
  132.         For further detail, please refer to COPYRIGHT notice in the
  133. package.
  134.  
  135.         Any questions and/or comments are welcome at the following
  136. e-mail address.
  137.  
  138.         cooc@isl.rdc.toshiba.co.jp
  139.  
  140. --
  141. --------------------------------------------------------------------
  142. Ken-ichi Maeda <maeda@isl.rdc.toshiba.co.jp>
  143. Communication and Information Systems Research Lab. II
  144. TOSHIBA Research & Development Center
  145. 1, Komukai Toshiba-cho, Saiwai-ku, Kawasaki 210, JAPAN
  146. TEL. (+81- or 0)44-549-2237  FAX. (+81- or 0)44-520-1841
  147. --------------------------------------------------------------------
  148.  
  149.  
  150. >6  FMPL (prototyping)
  151.  
  152. What: Interpreter for FMPL of Accardi, Release 1
  153. From: blojo@xcf.berkeley.edu (Jon Blow)
  154. Date: 2 Jun 92 08:42:26 GMT
  155.  
  156. An interpreter for FMPL of Accardi, Release 1 is now available for ftp at 
  157. xcf.berkeley.edu:src/local/fmpl/.
  158.  
  159. *FMPL is a prototype-based object-oriented programming language.
  160. *FMPL possesses lambda-calculus based constructs.
  161. *FMPL is an event-driven language; the events it responds to are mainly
  162. based on the behavior of input/output streams, not only within the unix domain
  163. but across the internet as well.
  164. *FMPL supports "pretty"-printing of internally-represented code back into
  165. readable form.
  166. *FMPL is an experimental language developed at the Experimental Computing 
  167. Facility of the University of California, Berkeley.  This release is something
  168. of a beta test since the language has not been widely used outside Berkeley.
  169. It is hoped that this release will draw useful comments and suggestions from
  170. the world at large that will help in improving future versions of FMPL.
  171.  
  172.  
  173. >7  MAX (visual OO)
  174.  
  175. From: fingerhu@ircam.fr (Michel Fingerhut)
  176. Subject: IRCAM DSP software for DEC/ALPHA and DEC/MIPS
  177. Organization: Inst. de Recherche et Coordination Acoustique/Musique, Paris
  178. Date: Fri, 13 Aug 93 11:25:23 GMT
  179.  
  180. ftp.ircam.fr:/pub/IRCAM/programs contains some of the IRCAM-developed
  181. software packages (in demo version; see further down for availability
  182. of the fully functional versions), including runnable binaries for
  183. both the DEC/ALPHA (osf1) and DEC/MIPS (ultrix) architectures, and soon
  184. available on other platforms (SGI and Macintosh).
  185.  
  186. MAX
  187.  
  188. MAX is a visual, object-oriented, programming language, initially
  189. designed for interactive musical performance, but which is suitable for
  190. digital signal processing as well as real-time control.  It allows
  191. interconnecting of oscillators and filters, building custom controller
  192. modules and simulation units all from a core collection of signal
  193. processing objects.
  194.  
  195. First developed by Miller Puckette at IRCAM in late 1986 to control
  196. the IRCAM 4X, it was later implemented on the Apple Macintosh as a
  197. graphical programming environment for MIDI applications.  This version
  198. has been extended by the Opcode company in Palo Alto, CA (USA), and is
  199. available through them.
  200.  
  201. The Alpha version (and its demo-only subset) is based on the NeXT
  202. version, where it is used to control the IRCAM-designed ISPW board.
  203. This card, based on two Intel i860 microprocessors, handles
  204. numerically-intensive real-time operations.
  205.  
  206. To date, it has been extensively used in live performance of
  207. full-length musical compositions (see some references in the MAX/doc
  208. directory), as well as in scientific and experimental applications
  209. requiring real-time control.
  210.  
  211. SVP
  212.  
  213. SVP (``Super Vocodeur de Phase'') is a signal processing tool which was
  214. designed and developed at IRCAM by Gilles Poirot and Philippe
  215. Depalle.  It is a full system for the analysis and synthesis of sound,
  216. whose core is a phase vocoder, and which comprises several modules for
  217. analysis (FFT, LPC..), filtering (band modes, surface modes...), time-
  218. scaling, mixing, spectral combination, cross-synthesis and
  219. amplification, which can be combined in multiple ways.
  220.  
  221. UDI
  222.  
  223. UDI is a library of C routines which provides a coherent software
  224. approach for developing and maintaining digital signal processing
  225. algorithms on stand-alone workstations or on host/array processor
  226. configuration.  Initially designed for sound signal analysis and
  227. synthesis, it can be used by any application which does vector math
  228. calculation.
  229.  
  230. It provides functions ranging from elementary vector and matrix
  231. operations to more specific DSP operations, such as, but not limited
  232. to, FFT, least-square, linear prediction coding, discrete cepstrum and
  233. pitch detection.
  234.  
  235. UDI was actually used in implementing SVP.
  236.  
  237. HOW TO RETRIEVE
  238.  
  239. The following example contains underlined text.  If it does not print
  240. nicely, use your favorite editor in order to remove all occurrences of
  241. "^H_" (control-H followed by underscore).
  242.  
  243. Connect via ftp to ftp.ircam.fr.  Engage into the following dialog (the
  244. underlined text is the reply you should provide
  245.  
  246.         220 ftp FTP server (Version 6.17 Thu Mar 11 08:30:51 MET 1993) ready.
  247.         Name (ftp:host): f_t_p_            (or: a_n_o_n_y_m_o_u_s_)
  248.         Passwd: l_o_g_i_n_@_y_o_u_r_m_a_c_h_i_n_e_       (see NOTE further down)
  249.         230-...
  250.         230-(informational messages, please read!)
  251.         230-...
  252.         ftp> c_d_ _p_u_b_/_I_R_C_A_M_/_p_r_o_g_r_a_m_s_
  253.         250 CWD command successful.
  254.         ftp> g_e_t_ _R_E_A_D_M_E_
  255.         200 PORT command successful.
  256.         150 Opening ASCII mode data connection for README (nnn bytes).
  257.         226 Transfer complete.
  258.         local: README remote: README
  259.         nnn bytes received in mmm seconds (xxx Kbytes/s)
  260.         ftp> b_i_n_
  261.         200 Type set to I.
  262.         ftp> g_e_t_ _s_v_p_._t_a_r_._g_z_             (or u_d_i_._t_a_r_._g_z_ or m_a_x_._t_a_r_._g_z_)
  263.         ...
  264.         ftp> q_u_i_t_
  265.  
  266. NOTE
  267.  
  268. The ftp server requires you to give as password something of the form
  269.         l_o_g_i_n_@_h_o_s_t_
  270. where l_o_g_i_n_ is your login name (or account name, or user information)
  271. and h_o_s_t_ is the fully-qualified name of the machine you are currently calling
  272. from, which is not necessarily the one on which you get your mail.  If you
  273. mistype it, the ftp server will advise you with an informative error message.
  274.  
  275. AVAILABILITY
  276.  
  277. For information on availability of these and other IRCAM tools with
  278. full functionality and documentation, and/or licensing of source code,
  279. as well as IRCAM publications (technical/scientific reports) please contact
  280. (in french or english, preferably):
  281.  
  282.         Mr. Vincent Puig
  283.         Directeur de la Valorisation
  284.         IRCAM
  285.         31, rue Saint-Merri
  286.         F-75004 Paris, France
  287.  
  288.         email:  puig@ircam.fr
  289.         FAX:    +33 1 42 77 29 47
  290.  
  291. Additional info can be found in the README file in the above directory.
  292.  
  293. REPORTING PROBLEMS AND GETTING HELP
  294.  
  295. ... in retrieving the software and/or in running it: please send email to
  296.  
  297.         manager@ircam.fr
  298.  
  299.  
  300.  
  301. >8  O'small (OO lang for teaching)
  302.  
  303. From: hense@sol.cs.uni-sb.de (Andreas Hense)
  304. Subject: *** NEW O'small compiler available by ftp !!! ***
  305. Date: 25 Jun 1993 13:54:35 GMT
  306. Organization: Universitaet des Saarlandes,Rechenzentrum
  307.  
  308.              O'small - THE object-oriented language for teaching
  309.              ---------------------------------------------------
  310.                        (Announcement of a new compiler)
  311.  
  312. *** An object-oriented language for teaching?
  313.  
  314. Depending on which aspects of object-orientation you want to convey you
  315. may choose your teaching language. If you want to teach the aspect of
  316. software reuse and nice graphical user interfaces, you should choose
  317. Smalltalk. If you want to show students how to program in a best
  318. selling language you should choose C++.
  319.  
  320.  
  321. *** In which case should I choose O'small?
  322.  
  323. You should consider O'small if you believe that computer languages
  324. should have a GOOD FORMAL SEMANTICS. Everyone will agree that a
  325. language needs a formal semantics. Otherwise, your program will yield
  326. different results on different implementations. A good formal
  327. semantics does not only serve the purpose of precisely defining what
  328. the results of your programs are, it also gives insights about the
  329. nature of the language. 
  330.  
  331. You should consider O'small if you do not want to waste time on
  332. unnecessary details. O'small is CONCISE. Its syntax and semantics
  333. takes no more than one page (if you choose the right font). Its syntax
  334. is similar to more traditional languages. O'small has been used in a
  335. lecture showing the differences between wrapper semantics
  336. (denotational) and method lookup semantics (operational). 
  337.  
  338. O'small is FREE! Up to now, there has only been an O'small interpreter
  339. written in Miranda [Hen91b]. This interpreter is directly based on the
  340. denotational semantics of O'small [Hen91d]. The interpreter itself is
  341. available by ftp. However, you need Miranda in order to run it. Now,
  342. there is a NEW IMPLEMENTATION of O'small based entirely on EASILY
  343. AVAILABLE SOFTWARE. This software is not free but it does not cost
  344. anything. The new implementation is based on an abstract machine [Boe93].
  345.  
  346. You can MODIFY the language and have your students make experiments
  347. with it. The source code of the abstract machine and the
  348. specifications for the parser and scanner generators are available.
  349. Using these generators you can make experiments for your own research
  350. in statical analysis of object-oriented languages.
  351.  
  352.  
  353. *** I would like to TRY O'small
  354.  
  355. You get the implementation by anonymous internet ftp.
  356. The following table gives the ftp connection information.
  357.  
  358. Host:                   Net Address:      Directory:
  359. -------------------------------------------------------------
  360. cs.uni-sb.de            134.96.7.254      /pub/osmall/machine
  361.  
  362. The directory /pub/osmall/machine contains the files
  363.         README 
  364.         ANNOUNCE                this file
  365.         HowToGetML 
  366.         oma.1.00.tar.Z          compressed tar-file
  367.  
  368.  
  369. ***************************************************************************
  370. NOTE: Ftp should be put into binary mode before transferring the compressed
  371. tar file.
  372. ***************************************************************************
  373.  
  374. Here is a sample dialog:
  375.  
  376.    ftp
  377.    ftp> open cs.uni-sb.de
  378.    Name: anonymous
  379.    Password: <your name>
  380.    ftp> binary
  381.    ftp> cd /pub/osmall/machine
  382.    ftp> get README
  383.    ftp> get ANNOUNCE
  384. (  ftp> get HowToGetML  )
  385.    ftp> get oma.1.00.tar.Z
  386.    ftp> close
  387.    ftp> quit
  388.  
  389. If you have a Sun 4 or a SPARC you can use the existing executable files.
  390. Otherwise, you need 'sml-yacc', 'sml-lex' and 'sml-noshare'. Read
  391. 'HowToGetML' to obtain them.
  392.  
  393. Instructions on using the machine are contained in the file README.
  394.  
  395. References
  396.  
  397. [Boe93]  Christoph Boeschen.  Christmas - An abstract machine for
  398.          O'small.  Master's thesis, Universit"at des Saarlandes, 
  399.          Fachbereich 14, June 1993.
  400.  
  401. [Hen91b] Andreas V. Hense.  An O'small interpreter based on denotational
  402.          semantics.  Technical Report A 07/91, Universit"at des Saarlandes,
  403.          Fachbereich 14, November 1991.
  404.  
  405. [Hen91c] Andreas V. Hense. Type inference for O'small. Technical Report A
  406.          06/91, Universit"at des Saarlandes, Fachbereich 14, October 1991.
  407.  
  408. [Hen91d] Andreas V. Hense.  Wrapper semantics of an object-oriented pro-
  409.          gramming language with state. In T. Ito and A. R. Meyer, editors,
  410.          Theoretical Aspects of Computer Software, volume 526 of Lecture No-
  411.          tes in Computer Science, pages 548-568. Springer-Verlag, September
  412.          1991.
  413.  
  414. [Hen93]  Andreas V. Hense.  Denotational semantics of an object-oriented
  415.          programming language with explicit wrappers.  Formal Aspects of
  416.          Computing, 5(3), 1993. to appear.
  417.  
  418. [HS92]   Andreas V. Hense and Gert Smolka.  A verification of extensible
  419.          record types.  In Zhongzhi Shi, editor, Proceedings of the IFIP
  420.          TC12/WG12.3 International Workshop on Automated Reasoning,
  421.          pages 137-164, Beijing, P.R. China, 13-16 July 1992. Internatio-
  422.          nal Federation for Information Processing, Elsevier, North-Holland,
  423.          Excerpta Medica.
  424.  
  425. [HS93]   Andreas V. Hense and Gert Smolka.  Principal types for object-
  426.          oriented languages. Technical Report A 02/93, Universit"at des Saar-
  427.          landes, Fachbereich 14, June 1993.
  428.  
  429.  
  430. >9  OBJ3 (OO lang)
  431.  
  432. What: Release 2.0 of OBJ3 (needed for FOOPS and OOZE, concurrent OOP)
  433. Date: Thu, 4 Jun 92 15:07:26 BST
  434. From: Paulo.Borba@prg.oxford.ac.uk
  435.  
  436. OBJ is available from SRI, see the message below; prototypes implementations of
  437. FOOPS (without the concurrent extension) and OOZE are due to the end of the
  438. year, but for both you also need OBJ. 
  439.  
  440. Unfortunately, I don't have any document about the FOOPS extension now, but
  441. probably by the end of the year. I will send it to you as soon as possible.
  442.  
  443.  
  444. What: Release 2.0 of OBJ3 is now available
  445. From: winkler@csl.sri.com (Timothy Winkler)
  446. Date: 6 Apr 92 08:35:40 GMT
  447.  
  448. Release 2.0 of OBJ3 is now available!
  449.  
  450. Improvements in this version include some language extensions and additional 
  451. theorem proving features.  In addition, an effort has been made to speed up
  452. the implementation; rewriting is often twice as fast as in the original
  453. implementation.  We are including the AKCL patches from the University of
  454. Texas at Austin in the distribution, which are necessary for maintaining the
  455. portability of OBJ3 and also improve its efficiency.  In addition, we are
  456. distributing a SPARC version of OBJ3.
  457.  
  458. OBJ3 has pattern matching modulo associativity, commutativity, and identity.
  459. New: the system automatically computes conditions for rules involving matching
  460. modulo identity that are used to prevent obvious non-termination problems.
  461.  
  462. Also new to this version of OBJ3 is a facility for controlled rewriting. This
  463. provides substantially increased support for the use of the system for
  464. equational theorem proving.
  465.  
  466. To receive the OBJ3 distribution tape or an OBJ3 license, send a request
  467. to:
  468.  
  469.            Judith Burgess (OBJ3)
  470.            Computer Science Laboratory
  471.            SRI International
  472.            333 Ravenswood Ave.
  473.            Menlo Park, CA 94025-3493, USA
  474.  
  475.         Telephone: (415) 859-5924
  476.         Fax: (415) 859-2844
  477.             email: obj3dist@csl.sri.com
  478.  
  479. Be sure to give us your postal mailing address.  Then we will send you the
  480. OBJ3 Information Form, and License Agreement, with instructions on how to
  481. fill them out.  (A KCL license form will also be included.)  When you return
  482. them to us, appropriately filled out and signed, we will send you the tape,
  483. somedocumentation, and, in case you are requesting a tape, an invoice for
  484. $150.00 plus any required taxes.
  485.  
  486. If you already have an OBJ3 license, then you don't need to get a new license,
  487. but, if you are requesting a tape from SRI, you are asked to pay the above
  488. distribution fee.
  489.  
  490. It is also possible to get a license for OBJ3 at no charge from SRI and then
  491. get the OBJ3 distribution itself from some third party also having a license.
  492.  
  493. Jose Meseguer, Timothy Winkler, and Patrick Lincoln
  494. Computer Science Laboratory
  495. SRI International
  496. 333 Ravenswood Avenue
  497. Menlo Park, California 94025, USA
  498.  
  499. Joseph Goguen
  500. Programming Research Group
  501. Computing Laboratory
  502. Oxford University
  503. 11 Keble Road
  504. Oxford OX1 3QD, United Kingdom
  505.  
  506.  
  507. >10  OBST (lang, perst, OODB)
  508.  
  509. What: OBST (Version: OBST3-2)
  510. From: stone@fzi.de
  511. Date: 19/3/92
  512.  
  513. [ Formerly, we used the acronym SOS, which led to a conflict
  514.   with an object oriented operating system of the same name.
  515.   Therefore we changed the name to OBST ("Obst" is the German 
  516.   word for "fruit"). As many people already use SOS (OBST) we 
  517.   did not change internal things like class names, environment 
  518.   variables and so on. ]
  519.  
  520. The persistent object management system OBST was developed by
  521. Forschungszentrum Informatik (FZI) as a contribution to the STONE
  522. project. This project (supported by grant no. ITS8902A7 from the
  523. BMFT, i.e. the German Ministry for Research) aims at the development
  524. of a software engineering environment for education purposes and is
  525. carried out as a joint project of nine german universities and
  526. research institutions.
  527.  
  528. An essential feature of STONE is that the object oriented paradigm 
  529. is pursued consequently as a key concept. OBST is the common persistent
  530. object store for all tools within the STONE environment. 
  531.  
  532. The OBST data model can be characterized by the following properties:
  533.  
  534.  * Schema definition language syntactically similar to C++
  535.  * Support of multiple inheritance
  536.  * Generic classes
  537.  * Distinction between public, protected, and private methods
  538.  * Redefinition of methods
  539.  * Overloading of methods
  540.  
  541. Schemas are compiled by the OBST schema compiler. The compilation
  542. results are instances of classes of the meta schema. From these
  543. instances in a next step interfaces to different programming languages
  544. can be generated. At present the C++ language binding is implemented,
  545. interfaces to Lisp and other languages are planned.
  546.  
  547. Objects are stored in so-called containers. The container an object
  548. belongs to is determined at the time of object creation and fixed
  549. throughout the object's lifetime. Containers are the units of 
  550. clustering, synchronization, and recovery. Objects can be referenced
  551. by other objects across container boundaries.
  552.  
  553. OBST provides a mechanism to incrementally load methods. This enables
  554. programs to deal with objects whose type is defined after the program 
  555. itself has been developed. This is useful in systems that provide for 
  556. inheritance and it supports schema evolution.
  557.  
  558. Since end 1990 the first prototype of OBST is available and is shipped
  559. to interested universities and research institutions. 
  560.  
  561. The system comes with the schema compiler, a library of predefined
  562. classes, a graphical object browser, the structurer and flattener and the
  563. OShell, and all 
  564. manuals. 
  565.  
  566. Structurer and Flattener is a tool to build objects from bytestrings and
  567. flatten objects down to bytestrings. It is intended to be used when coupling
  568. UNIX tools to the object management system. The user defines a grammar
  569. that describes her objects. Afterwards, the structurer parses an ascii 
  570. text according to the given grammar and creates an OBST object structure that
  571. represents the corresponding parse tree.  The flattener does the inverse
  572. transformation, that means it generates an ascii text from a given OBST object
  573. structure according to the given grammar.
  574.  
  575. OShell is a tool which provides interactive access to the OBST object base.
  576. There is a language called OSL which is based on the lambda calculus and
  577. defines the interface to the OShell tool.
  578.  
  579. For the prototype's installation a C++ compiler (GNU g++ 1.37 or later or AT&T
  580. 2.0/2.1) and the X-Windows system (currently X11R4) for the graphical tools
  581. are required. Installation is well-tried on SUN 3/* and SUN 4/* systems and
  582. should be no problem on other UNIX machines, too.
  583.  
  584. --------------------------------------------------------------------
  585. For more information please mail to:
  586.                 Forschungszentrum Informatik (FZI)
  587.                        STONE Projekt
  588.                  Haid-und-Neu-Strasse 10-14
  589.                      D-7500 Karlsruhe 1
  590.                           Germany
  591. or email to:  stone@fzi.de
  592.  
  593. Phone:        ++49-721-9654-601
  594. Fax:          ++49-721-9654-609
  595. Teletex:      721 190 fziKA
  596.  
  597. The OBST system is available via anonymous FTP from gate.fzi.de
  598. [141.21.4.3]. The system can be found in the directory /pub/OBST.
  599.  
  600. Sites interested in getting information about new OBST developments
  601. are welcome to register in our mailing list by sending an email with
  602. subject "obst-mailing-list" to stone@fzi.de.
  603.  
  604.  
  605. >11  OOT (OO Turing demo)
  606.  
  607. What: OOT
  608. From: holt@turing.toronto.edu (Ric Holt)
  609. Date: 26 Apr 93 20:14:43 GMT
  610.  
  611. OBJECT ORIENTED TURING: DEMO AVAILABLE VIA FTP
  612.  
  613. OOT (Object Oriented Turing) is a programming language that has been 
  614. developed at the University of Toronto.  An OOT demo, which includes the 
  615. fully implemented language, is available for Sun/4's running X windows.  
  616. See below for instructions to copy the demo to your site.
  617.  
  618. OOT supports the standard OOPL features of information hiding, classes,
  619. polymorphism and generics, as well as the usual features in C and Pascal 
  620. style languages.  It also supports concurrency, exception handling 
  621. and system programming (pointer arithmetic, bit manipulation, etc).  
  622.  
  623. The OOT environment is designed for teaching Computer Science.
  624. It is being used in introductory programming courses, courses
  625. on OO concepts, compiler courses, OS courses, etc.
  626.  
  627. The OOT environment is fully integrated, with multi-window editing, turbo 
  628. speed compiler, integrated color graphics, GUI user interface, implicit MAKE, 
  629. on-line manual, integrated demos, etc.  The system includes an experimental
  630. CASE tool with an interface browser and a visual system browser.
  631.  
  632.  
  633. >12  Sather (simple Eiffel)
  634.  
  635. What: SATHER
  636.  
  637. Sather is under development at the International Computer Science Institute.
  638. Sather has clean and simple syntax, parameterized classes, object-oriented
  639. dispatch, multiple inheritance, strong typing, and garbage collection. The
  640. compiler generates efficient and portable C code which is easily integrated
  641. with existing code.
  642.  
  643. The initial beta test release of the language was in May, 1991. The compiler,
  644. debugger, Emacs development environment, documentation, and library classes
  645. are available by anonymous ftp from "icsi-ftp.berkeley.edu".
  646. "sather@icsi.berkeley.edu" is a mailing list for discussing aspects of Sather
  647. and "sather-admin@icsi.berkeley.edu" should be used for bug reports and
  648. requests to be added or deleted from the mailing list.
  649.  
  650. Sather is based on Eiffel but is more concerned with efficiency and less with
  651. some of the formal and theoretical issues addressed by Eiffel. The language is
  652. much smaller than the current Eiffel, it eliminates over 40 keywords and
  653. simplifies the syntax and inheritance rules. 
  654.  
  655. Like Eiffel, Sather code is compiled into portable C and efficiently links
  656. with existing C code. The Sather compiler is written in Sather and has been
  657. operational for almost a year, though it is still being improved. Preliminary
  658. benchmarks show a performance improvement over Eiffel of between a factor of 4
  659. and 50 on basic dispatching and function calls. On the benchmarks used at
  660. Stanford to test Self (including 8 queens, towers of hanoi, bubblesort, etc),
  661. Sather is even slightly faster than C++.
  662.  
  663. The Sather compiler and libraries are publicly available under a very
  664. unrestrictive license aimed at encouraging contribution to the public library
  665. without precluding the use of Sather for proprietary projects.  The goal is to
  666. establish a repository for efficient, reusable, well written, publicly
  667. available, classes for most of the important algorithms in computer science.
  668. There are currently about 120 classes in the library. The libraries are
  669. growing quickly and will collect together classes from many authors under the
  670. same unrestrictive license. 
  671.  
  672. A GNU emacs development environment for Sather is available. A debugger based
  673. on gdb from the Free Software Foundation is also available. A parallel version
  674. of Sather for shared memory machines called "Psather" is also under
  675. development.
  676.  
  677. From the Sather FAQ, August 16, 1993 (See Section 1.24):
  678.  
  679. Q 1: What is Sather?
  680.      ~~~~~~~~~~~~~~ 
  681. Sather is an object oriented language which aims to be simple,
  682. efficient, interactive, safe, and non-proprietary. It aims to meet the
  683. needs of modern research groups and to foster the development of a
  684. large, freely available, high-quality library of efficient
  685. well-written classes for a wide variety of computational tasks. It was
  686. originally based on Eiffel but now incorporates ideas and approaches
  687. from several languages. One way of placing it in the "space of
  688. languages" is to say that it attempts to be as efficient as C, C++, or
  689. Fortran, as elegant and safe as Eiffel or CLU, and to support
  690. interactive programming and higher-order functions as well as Common
  691. Lisp, Scheme, or Smalltalk.
  692.  
  693. Sather has garbage collection, statically-checked strong typing,
  694. multiple inheritance, separate implementation and type inheritance,
  695. parameterized classes, dynamic dispatch, iteration abstraction,
  696. higher-order routines and iters, exception handling, assertions,
  697. preconditions, postconditions, and class invariants. The development
  698. environment integrates an interpreter, a debugger, and a
  699. compiler. Sather code can be compiled into C code and can efficiently
  700. link with C object files.
  701.  
  702.  
  703. >13  Self
  704.  
  705. What: Self 2.0 Release
  706. From: hoelzle@Xenon.Stanford.EDU (Urs Hoelzle)
  707. Date: 10 Aug 92 21:08:25 GMT
  708.  
  709. Announcing Self Release 2.0
  710.  
  711. The Self Group at Sun Microsystems Laboratories, Inc., and Stanford University
  712. is pleased to announce Release 2.0 of the experimental object-oriented
  713. exploratory programming language Self.
  714.  
  715. Release 2.0 introduces full source-level debugging of optimized code, adaptive 
  716. optimization to shorten compile pauses, lightweight threads within Self,
  717. support for dynamically linking foreign functions, changing programs within
  718. Self, and the ability to run the experimental Self graphical browser under
  719. OpenWindows.
  720.  
  721. Designed for expressive power and malleability, Self combines a pure,
  722. prototype-based object model with uniform access to state and behavior. Unlike
  723. other languages, Self allows objects to inherit state and to change their
  724. patterns of inheritance dynamically. Self's customizing compiler can generate
  725. very efficient code compared to other dynamically-typed object-oriented
  726. languages.
  727.  
  728. Self Release 2.0 runs on Sun-3's and Sun-4's, but no longer has an optimizing
  729. compiler for the Sun-3 (and therefore runs slower on the Sun-3 than previous
  730. releases).
  731.  
  732. This release is available free of charge and can be obtained via anonymous ftp
  733. from self.stanford.edu. Unlike previous releases, Release 2.0 includes all
  734. source code and is legally unencumbered (see the LICENSE file for legal
  735. information.)  Also available for ftp are a number of papers published about
  736. Self.
  737.  
  738. Finally, there is a mail group for those interested in random ramblings about
  739. Self, self-interest@self.stanford.edu. Send mail to
  740. self-request@self.stanford.edu to be added to it (please do not send such
  741. requests to the mailing list itself!).
  742.  
  743. The Self Group  at Sun Microsystems Laboratories, Inc. and Stanford University
  744.  
  745.  
  746. >14  C++ gram, etc.
  747.  
  748. What: ftp site for C++ material
  749. From: schrod@iti.informatik.th-darmstadt.de (Joachim Schrod)
  750. Date: 27 May 92 22:32:35 GMT
  751.  
  752. There were a lot of questions about C++ material in the last time and some 
  753. announcements which involved our ftp server.
  754.         ftp.th-darmstadt.de [130.83.55.75]
  755.         /pub/programming/languages/C++
  756. At the moment we have:
  757.  -- documentation and assorted stuff
  758.         C++ products list as announced by Saumen K Dutta (in a subdirectory!)
  759.         C++ YACC grammar, ET++ tutorial, summaries from the Net,
  760.         sources from James Coplien's book (idioms...), etc.
  761.  -- class libraries
  762.         NIHCL (original, persistent for ObjectStore, with g++ 1.4x changes)
  763.         COOL, OATH, RogueWave vector, ET++,
  764.         RPC package, a package for sockets, awe (thread package)
  765.  -- tools
  766.         class browser (for GNU Emacs), indent++, yacc+, template
  767.         processor of Brad Cox[sp?], DEC garbage collector
  768.  
  769. More stuff is always welcome.  (Btw, Interviews and Motif C++ wrapper
  770. classes are to be found in the /pub/X11 subtree.)
  771.  
  772.  
  773. >15  ConceptBase (OODB, reqkey)
  774.  
  775. What: ConceptBase
  776.  
  777. See APPENDIX B.
  778.  
  779. A four week test-version of ConceptBase V3.1 is available 
  780. on the FTP server ftp.informatik.rwth-aachen.de in the 
  781. directory pub/CB.  For running the ftp version you must ask for a 
  782. key by email.
  783.  
  784.  
  785. >16  C++ OODB
  786. Exodus (Storage Man, perst)
  787.  
  788. From: darrenp@dibbler.cs.monash.edu.au (Daz)
  789. Subject: Re: Class libraries for accessing RDBs ?
  790. Organization: Monash University, Melb., Australia.
  791. Date: Thu, 17 Jun 1993 23:53:22 GMT
  792.  
  793. shekar@gizmo.CS.MsState.Edu (Chandrashekar Ramanathan) writes:
  794.  
  795. >Hello,
  796. >       Are there any shareware/ftp'able C++ class libraries that
  797. >provide Relational Database access? I would also appreciate any
  798. >pointers (ideas/articles/journals) to the various issues that one has
  799. >to consider in designing such library. 
  800. Ok, I'm not sure if it's exactly what you want, but it's a database, it's
  801. fully written in c++ with classes etc, and it's out for beta testing.
  802.  
  803. Check out pippin.cs.monash.edu.au:pub/export/diamond-0.1.2.tar.Z
  804. and please mail darrenp@dibbler.cs.monash.edu.au if you decide to play with
  805. it.
  806.  
  807. Daz.
  808. --
  809. Darren Platt, Department of Computer Science
  810. darrenp@dibbler.cs.monash.edu.au
  811. Monash University, Clayton Melbourne, Victoria, Australia
  812.  
  813.  
  814. >17  Exodus (Storage Man, perst)
  815.  
  816. What: Exodus project software (Storage Manager & GNU E)
  817. From: zwilling@caseus.cs.wisc.edu (Mike Zwilling)
  818. Date: 16 Jul 92 04:53:19 GMT
  819.  
  820. In the past there have been discussions in comp.object and comp.databases
  821. about persistent storage for object-oriented databases and programming
  822. languages.  As you may know, the EXODUS Database Toolkit project at the
  823. University of Wisconsin has researched these issues and others for a number of
  824. years.  The purpose of this note is to inform you that the software from the
  825. EXODUS project is freely available via anonymous ftp.  The EXODUS software
  826. includes the EXODUS Storage Manager and the compiler for the E persistent
  827. programming language.  Also included is documentation, and a suite of test
  828. programs for both components.  This note briefly describes the software and
  829. explains how to obtain it.  We currently support DECstation 3100s/5000s and
  830. SPARC based workstations.  Others have ported the code to HP700s and IBM
  831. RS6000s.
  832.  
  833. The EXODUS Storage Manager is a client-server object storage system which
  834. provides "storage objects" for storing data, versions of objects, "files"
  835. for grouping related storage objects, and indexes for supporting efficient
  836. object access.  A storage object is an uninterpreted container of bytes which
  837. can range in size from a few bytes to hundreds of megabytes.  The Storage
  838. Manager provides routines to read, overwrite, and efficiently grow and shrink
  839. objects.  In addition, the Storage Manager provides transactions, lock-based
  840. concurrency control, and log-based recovery.
  841.  
  842. GNU E is a persistent, object-oriented programming language developed as part
  843. of the Exodus project.  GNU E extends C++ with the notion of persistent data,
  844. program level data objects that can be transparently used across multiple
  845. executions of a program, or multiple programs, without explicit input and
  846. output operations.
  847.  
  848. GNU E's form of persistence is based on extensions to the C++ type system to 
  849. distinguish potentially persistent data objects from objects that are always
  850. memory resident.  An object is made persistent either by its declaration (via
  851. a new "persistent" storage class qualifier) or by its method of allocation
  852. (via persistent dynamic allocation using a special overloading of the new
  853. operator).  The underlying object storage system is the Exodus storage manager,
  854. which provides concurrency control and recovery in addition to storage for
  855. persistent data.
  856.  
  857. The current release of GNU E is based on gcc/g++ version 2.2.2, and is upward 
  858. compatible with C++ as implemented by that compiler.
  859.  
  860. A bibliography of EXODUS related papers can be obtained from the ftp site
  861. described below.
  862.  
  863. To obtain the software, simply ftp to ftp.cs.wisc.edu (128.105.8.18), login
  864. as anonymous with your email address as a password, "cd" to the "exodus"
  865. directory, and follow the directions (directions will be given as you "cd").
  866. See the README for the latest information about the software and an indication
  867. of our future plans.  If you decide to use the software, please contact us at
  868. exodus@cs.wisc.edu so that we can notify you of changes.
  869.  
  870.  
  871. >18  GRAS
  872.  
  873. GRAS - A Graph-Oriented Database System for SE Applications
  874. Copyright (C) 1987-1992  Lehrstuhl Informatik III, RWTH Aachen
  875. This library is free software under the terms of the GNU Library 
  876. General Public License.
  877.  
  878. Lehrstuhl f"ur Informatik III --> GRAS
  879. University of Technology Aachen (RWTH Aachen),
  880. Ahornstr. 55,
  881. D-5100 Aachen
  882. Contact : Dr. Andy Sch"urr (or Richard Breuer),
  883. andy@rwthi3.informatik.rwth-aachen.de
  884. ricki@rwthi3.informatik.rwth-aachen.de (for technical support)
  885.  
  886. The system GRAS with interfaces for the programming languages Modula-2
  887. and C is available as public domain software for Sun3/Sun4 workstations
  888. (the GRAS system itself is implemented in Modula-2 and consists of many
  889. layers which might be reusable for the implementation of other systems): 
  890.  
  891.   Via anonymous ftp from tupac-amaru.informatik.rwth-aachen.de
  892.   (137.226.112.31) in the directory /pub/unix/GRAS522_3
  893.  
  894.   There are several files contain documentation, sources, binaries,
  895.   and libraries. All binaries are for Sun/4 machines. Sun/3 binaries
  896.   are shipped only if explicitly requested.
  897.  
  898. [See APPENDIX B]
  899.  
  900.  
  901. >19  MOOD   (OODB, lim arch)
  902.  
  903. What: MOOD/P3 Ver.2.00 OODBS {Miniature,Materials}OODBS.
  904. From: ono@mood.mech.tohoku.ac.jp (Noboru Ono)
  905. Date: 18 May 92 10:28:42 GMT
  906.  
  907. The following program/sample database package is available through anonymous
  908. FTP at mood.mech.tohoku.ac.jp (130.34.88.61). Sorry it is not the sources and
  909. operates only in NEC-PC9801/MS-DOS environment.  Sorry again documents are all
  910. in Japanese. We will tell you later when English documents has become ready.
  911.  
  912.       MOOD/P3 Ver.2.00
  913.       Material's Object-Oriented Database, Prototype 3
  914.  
  915. This program, as you may guess,
  916.  
  917.       1) is an Object-Oriented database system program,
  918.       2) operates on PC-9801 series personal computer, and
  919.       3) is accompanied by sample material database schema.
  920.  
  921. Although this program has been developed and being used in the experiments
  922. on material data processing in which we are now involved, it is a general
  923. purpose OODBS. 
  924.  
  925. Noboru Ono
  926. Dept. of Machine Intelligence and Systems Engineering,
  927. Faculty of Engineering, Tohoku University.
  928. Tel:++22-222-1800
  929. Fax:++22-268-3688
  930. E-mail:ono@mood.mech.tohoku.ac.jp
  931.  
  932.  
  933. >20  Ode    (C++ OODB)
  934.  
  935. What: Ode Release 1.1
  936. From: nhg@research.att.com
  937.  
  938. Ode is an object-oriented database based on the C++ database model. The
  939. primary interface to Ode is the database programming language O++ which is
  940. based on C++.
  941.  
  942. Ode 1.1 is now available to Universities.  This is a beta release.  The
  943. current version of Ode runs on Sun (Sparc) workstations and users must have
  944. C++ release 2.0 or a later release.  If you are interested in using Ode and
  945. giving us feedback on your experience with Ode, please send me mail with the
  946. appropriate information.
  947.  
  948. Narain Gehani
  949. AT&T Bell Labs 3D-414
  950. 600 Mountain Ave
  951. Murray Hill, NJ 07974
  952.  
  953.  
  954. From: thssamj@iitmax.iit.edu (Aditya M. Jani)
  955. Subject: *Announcement* UserGroup for ODE (OODBMS from AT&T)
  956. Organization: Illinois Institute of Technology, Chicago
  957. Date: Fri, 25 Jun 93 17:27:53 GMT
  958.  
  959.                     Ode Object database v2.0
  960.                     ------------------------
  961. Ode 2.0 is available via ftp from research.att.com.
  962. Here is a sample session showing how to retrieve Ode 2.0
  963. which is kept in the directory
  964.  
  965.     dist/ode2.0
  966.  
  967. as a compressed tar file named
  968.  
  969. 2.0.oppbin.tar.Z
  970.  
  971. First create the directory on the local machine
  972. where ode is to be installed, e.g.,
  973.  
  974. mkdir ode
  975. cd ode
  976.  
  977. Retrieve the compressed tar Ode file using ftp into
  978. as illustrated below.
  979. Then uncompress it
  980.  
  981. uncompress 2.0.oppbin.tar.Z
  982.  
  983. and unbundle it
  984.  
  985. tar xvf 2.0.oppbin.tar
  986.  
  987. Next see file README, fix install file, and run install
  988.  
  989. ./install
  990.  
  991.  
  992.  
  993.  
  994. Sample ftp session
  995. --------------
  996. $ ftp research.att.com
  997. Connected to tcp!192.20.225.2!1390.
  998. 220 inet FTP server (Version 4.271 Fri Apr 9 10:11:04 EDT 1993) ready.
  999. Name (research.att.com:smith): anonymous
  1000. 331 Guest login ok, send ident as password.
  1001. Password: smith@hostname
  1002. 230 Guest login ok, access restrictions apply.
  1003. Remote system type is UNIX.
  1004. Using binary mode to transfer files.
  1005. ftp> cd dist
  1006. 250 CWD command successful.
  1007. ftp> cd ode2.0
  1008. 250 CWD command successful.
  1009. ftp> get 2.0.oppbin.tar.Z
  1010. 200 PORT command successful.
  1011. 150 Opening BINARY mode data connection for 2.0.oppbin.tar.Z (2762525
  1012. bytes).
  1013. 226 Transfer complete.
  1014. 2762525 bytes received in 1.6e+02 seconds (16 Kbytes/s)
  1015. ftp> quit 
  1016. 221 Goodbye.
  1017.  
  1018. -------------------------------------------------------------------------------
  1019.  
  1020.                               Available Now!
  1021.  
  1022.  
  1023.  
  1024.  
  1025.                                  Ode 2.0
  1026.                        An Object-Oriented Database
  1027.  
  1028.        C++ Compatible, Fast Queries, Complex Application Modeling,
  1029.        Multimedia Support, and more
  1030.  
  1031.  
  1032.  
  1033.  
  1034.        Ode 2.0 is now available to Universities.  Users who currently
  1035.        have Ode 1.1 will be automatically sent a tape with Ode 2.0.
  1036.        There is no charge for Ode.  However, AT&T requires the signing
  1037.        of a non-disclosure agreement.
  1038.  
  1039.  
  1040.  
  1041.        Details
  1042.        -------
  1043.  
  1044.        ODE OBJECT-ORIENTED DATABASE
  1045.  
  1046.        The Ode object database is based on the C++ object paradigm.
  1047.        Ode  uses  one  integrated data model (C++ classes) for both
  1048.        database and general purpose manipulation.  The Ode database
  1049.        is   defined,   queried  and  manipulated  in  the  database
  1050.        programming language O++, which provides simple and  elegant
  1051.        facilities for manipulating the database.
  1052.  
  1053.        O++  is  an  upward-compatible  extension  of  C++.   A  few
  1054.        facilities have been added to C++ to make it into a database
  1055.        programming language.  C++ programmers can learn  O++  in  a
  1056.        very short time.
  1057.  
  1058.        O++ programs can be compiled with C++ programs thus allowing
  1059.        the use of existing C++ code.
  1060.  
  1061.        THE ODE MODEL OF PERSISTENCE
  1062.  
  1063.        Ode offers a simple and elegant notion of persistence  which
  1064.        is   modeled  on  the  ``heap''.   Specifically,  memory  is
  1065.        partitioned into volatile and persistent.  Volatile  objects
  1066.        are   allocated   in   volatile   memory  (stack  or  heap).
  1067.        Persistent objects are allocated  in  persistent  store  and
  1068.        they  continue  to exist after the program that created them
  1069.        has terminated.
  1070.  
  1071.        An Ode database is a collection of persistent objects.  Each
  1072.        object  is  identified  by  a  unique  object  id  (i.e.,  a
  1073.        persistent pointer,  or  to  be  precise,  a  pointer  to  a
  1074.        persistent object).
  1075.  
  1076.        The database programming language  O++  provides  facilities
  1077.        for   creating  and  manipulating  the  Ode  database.   For
  1078.        example,   O++   provides    facilities    for    specifying
  1079.        transactions,  creating and manipulating persistent objects,
  1080.        querying the database, creating and manipulating versions.
  1081.  
  1082.        WHAT IS AN OBJECT-ORIENTED DATABASE
  1083.  
  1084.        Some  important  characteristics   of   an   object-oriented
  1085.        database are:
  1086.  
  1087.           + data is stored as objects,
  1088.  
  1089.           + data  can  be  interpreted  (using  methods)  only   as
  1090.             specified by the class designer,
  1091.  
  1092.           + relationship  between  similar  objects  is   preserved
  1093.             (inheritance), and
  1094.  
  1095.           + references between objects are preserved.
  1096.  
  1097.        ADVANTAGES OF OBJECT-ORIENTED DATABASES
  1098.  
  1099.           + Speed: Queries can  be  faster  because  joins  (as  in
  1100.             relational  databases)  are  often not needed.  This is
  1101.             because an object can be retrieved directly  without  a
  1102.             search, by following object ids.
  1103.  
  1104.           + No impedance mismatch: The same data model is  used  by
  1105.             both   the   database   programming  language  and  the
  1106.             database;  it  is  not  necessary  to  do  any   format
  1107.             conversions  when  reading  the data from disk and when
  1108.             storing the data on disk.
  1109.  
  1110.           + Programmers  need  to  learn   only   one   programming
  1111.             language:  The  same  programming  language is used for
  1112.             both data definition and data manipulation.
  1113.  
  1114.           + Complex applications: The full power  of  the  database
  1115.             programming language's type system can be used to model
  1116.             the data structures of a complex  application  and  the
  1117.             relationship between the different data items.
  1118.  
  1119.           + Multimedia  applications:  The   semantic   information
  1120.             stored  in  the  database  (class  methods) facilitates
  1121.             correct  interpretation  of  the  data.   This  reduces
  1122.             application complexity since applications do no have to
  1123.             be responsible for the correct interpretation of data.
  1124.  
  1125.           + Versions: Object-oriented databases  typically  provide
  1126.             better support for versioning.  An object can viewed as
  1127.             the set of all its versions.  Also, object versions can
  1128.             be treated as full fledged objects.
  1129.  
  1130.           + Triggers  and  constraints:  Object-oriented  databases
  1131.             provide systematic support for triggers and constraints
  1132.             which are the basis of active databases.
  1133.  
  1134.        Finally, most, if not all, object-oriented applications that
  1135.        have  database  needs  will  benefit  from  using an object-
  1136.        oriented database.  Specifically, C++ applications that have
  1137.        database needs will benefit from using Ode.
  1138.  
  1139.        FEATURES OF ODE
  1140.  
  1141.          1.  Ode is C++ based and compatible with C++.
  1142.  
  1143.          2.  The  Ode  object   database   provides   four   object
  1144.              compatible  mechanisms  for  manipulating and querying
  1145.              the database: O++, OdeView, OdeFS, and CQL++:
  1146.  
  1147.                 + O++ is a database programming language  based  on
  1148.                   C++.   O++  is  upward compatible with C++ and it
  1149.                   makes minimal  changes  to  C++.   O++  offers  a
  1150.                   simple and elegant notion of persistence which is
  1151.                   modeled on the ``heap''.  O++ provides facilities
  1152.                   for querying the database, and a variant of other
  1153.                   facilities.
  1154.  
  1155.                 + OdeView is a graphical X-based interface  to  the
  1156.                   Ode database.
  1157.  
  1158.                 + OdeFS is a  file  system  interface  to  the  Ode
  1159.                   object  database.   OdeFS  allows  objects  to be
  1160.                   treated and  manipulated  like  files.   Standard
  1161.                   commands  such as rm, cp and mv and tools such as
  1162.                   vi and grep can be used to manipulate objects  in
  1163.                   the database.
  1164.  
  1165.                 + CQL++ is a C++ variant  of  SQL  for  easing  the
  1166.                   transition  from  relational databases to object-
  1167.                   oriented databases such as Ode.
  1168.  
  1169.              Currently, only O++ is shipped with Ode 2.0.  A  beta-
  1170.              test version of OdeFS is available upon request.
  1171.  
  1172.          3.  Ode supports large objects  (these  are  critical  for
  1173.              multi-media    applications).    Ode   provides   both
  1174.              transparent access for large objects and a  file  like
  1175.              interface  for  large objects.  The latter can be used
  1176.              to efficiently access and  update  parts  of  a  large
  1177.              object.
  1178.  
  1179.          4.  Users can create versions of objects.  Ode will  track
  1180.              the   relationship   between   versions  and  provides
  1181.              facilities for accessing the different versions.
  1182.  
  1183.          5.  Transactions  can  be  specified  as  read-only;  such
  1184.              transactions  are  faster  because they are not logged
  1185.              and they are less likely to deadlock.
  1186.  
  1187.          6.  Users   can   run    ``hypothetical''    transactions.
  1188.              Hypothetical  transaction  allow users to pose ``what-
  1189.              if'' scenarios (as often  done  with  spread  sheets).
  1190.              User  can  change  data  and  see  the impact of these
  1191.              changes without changing the database.
  1192.  
  1193.          7.  EOS, the storage engine of Ode, is based on a  client-
  1194.              server architecture.  Some features of EOS:
  1195.  
  1196.                a.  Efficient  and  transparent  handling  of  large
  1197.                    objects.  A file-like interface is also provided
  1198.                    for very large objects.
  1199.  
  1200.                b.  Concurrency is based on  multi-granularity  two-
  1201.                    version   two-phase   locking;  it  allows  many
  1202.                    readers and one writer to access the  same  item
  1203.                    simultaneously.
  1204.  
  1205.                c.  Log  records  contain  only  after   images   of
  1206.                    updates,  thus making logs small.  Recovery from
  1207.                    system failures requires one scan over  the  log
  1208.                    resulting in fast restarts.
  1209.  
  1210.        USE MODES
  1211.  
  1212.        Ode supports two modes of use:
  1213.  
  1214.          1.  Client-server (allows multiple  users  to  access  the
  1215.              database concurrently).
  1216.  
  1217.          2.  Single user (improved performance  compared  to  using
  1218.              the client-server mode).
  1219.  
  1220.        USERS
  1221.  
  1222.        Ode 2.0 is currently being used as the multi-media  database
  1223.        engine  for  AT&T's  Interactive TV project.  Ode 1.1 (older
  1224.        version of Ode with  limited  capabilities)  has  also  been
  1225.        distributed to 30+ sites within AT&T and 135+ universities.
  1226.  
  1227.  
  1228. >21  POSTGRES (Ext. Rel. DBMS)
  1229.  
  1230. What: Version 4.0 of the POSTGRES DBMS
  1231. From: mer@gaia.CS.Berkeley.EDU (Jeff Meredith)
  1232. Date: 16 Jul 92 04:53:17 GMT
  1233.  
  1234. Version 4.0 of the POSTGRES DBMS is now available for distribution. Version 4.0 
  1235. provides significant advances in functionality over 3.1.  General improvements
  1236. in the code and some key multi-user bug fixes have resulted in a much more
  1237. reliable system than we have ever previously released.
  1238.  
  1239. Major new features include:
  1240.  o  Complete support for language (POSTQUEL) functions.
  1241.  o  Handling of nested dot expressions.
  1242.  o  Optimization of predicates with expensive functions.
  1243.  o  Binary portals
  1244.  o  Initial support of sets
  1245.  o  Indices on system catalogs.
  1246.  
  1247. Postgres runs on Sparc I, Sparc II, Sun 4 running SunOs, and DECstations
  1248. running ULTRIX >= 4.0, as well as Sequent Symmetry machines.  Postgres
  1249. consists of about 250,000 lines of C.
  1250.  
  1251. If you would like to get Postgres 4.0, you can get it in one of two ways:
  1252.  
  1253. (1)  Anonymous FTP from postgres.berkeley.edu
  1254.  
  1255. cd pub
  1256. get postgres-setup.me
  1257. binary
  1258. get postgres-v4r0.tar.Z
  1259. quit 
  1260.  
  1261. Or, if you do not have net.access, you can order a Postgres distribution
  1262. tape by sending a check payable to the Regents of the University of California
  1263. for $150.00 to:
  1264.          Postgres Project
  1265.          571 Evans Hall
  1266.          University of California
  1267.          Berkeley, CA 94720.
  1268.  
  1269. Indicate in your accompanying letter whether you want the system on a 9-track
  1270. tape at 1600 BPI, at 6250 BPI, on a cartridge tape for SUN shoeboxes (QIC 24 
  1271. format), or on a TK50 DEC cartridge tape.
  1272.  
  1273.  
  1274. >22  Sniff (C++ devel environ)
  1275.  
  1276. [See also APPENDIX C, SNiFF+, for the commercial version]
  1277.  
  1278. What: SNIFF (Sniff 1.1b (C++ Development Environment))
  1279. From: shite@sinkhole.unf.edu (Stephen Hite)
  1280. Date: 23 Aug 92 18:14:00 GMT
  1281.  
  1282. Sniff 1.1b is available from iamsun.unibe.ch in the C++ hierarchy.  It's a
  1283. development environment for C++ (minus the C++ compiler or interpreter).
  1284. It's freely available and you're gonna need OpenWindows 3.0 if you want
  1285. to play with it immediately.  I just downloaded it and haven't had a 
  1286. chance to look into whether the XView 3.0 package will be able to handle
  1287. everything Sniff requires of the OpenLook part.
  1288.  
  1289. And:
  1290.  
  1291. From: sniff@takeFive.co.at (Mr. Sniff)
  1292. Newsgroups: comp.lang.c++,comp.unix,comp.unix.osf.osf1,comp.unix.solaris,comp.object
  1293. Subject: SNiFF+ takeFive Starts Free University Distribution of Commercial C/C++ Programming Environment
  1294. Date: 22 Sep 1993 15:51:26 GMT
  1295. Organization: EUnet EDV-Dienstleistungsgesellschaft m.b.H
  1296. Keywords: programming environments, browsing, C++
  1297.  
  1298. SNiFF+: takeFive Starts Free University Distribution of Commercial C/C++
  1299. Programming Environment
  1300.  
  1301. 1. Introduction
  1302.  ===============
  1303. Since the beginning of 1993 takeFive has taken over development and support 
  1304. for SNiFF+, a leading edge C/C++ programming environment.  With SNiFF+ 
  1305. rapidly gaining commercial acceptance takeFive has decided to offer the 
  1306. product free to educational establishments. There are several reasons for 
  1307. this step.
  1308.  
  1309. ...
  1310.  
  1311. 6. How to Obtain SNiFF+
  1312.  =======================
  1313. 6.1 FTP
  1314.  -------
  1315. Sniff can be downloaded from anonymous FTP sites in USA and Europe.
  1316. You can get all details from info@takeFive.co.at.
  1317.  
  1318. And:
  1319.  
  1320. From: hueni@iam.unibe.ch (Hermann Hueni)
  1321. Subject: Re: Browsers
  1322. Date: Fri, 11 Jun 1993 12:37:28 GMT
  1323.  
  1324. Sniff is a commercial product.
  1325. Send mail to info@takeFive.co.at
  1326. AN early version is available as a SUN SPARC binary only from
  1327. siam.unibe.ch:C++/Sniff1.6/     (THIS site is in EUROPE)
  1328.  
  1329.  
  1330. >23  C++ tags
  1331. Eiffel archive,24
  1332. short tool, 24
  1333.  
  1334. What: ctags/etags for C and C++
  1335. From: kendall@centerline.com (Sam Kendall)
  1336. Date: 10 Jun 92 09:31:27 GMT
  1337.  
  1338. A lot of people have requested this software!  You can now get Tags for
  1339. C/C++ version 1.0 via anonymous ftp at:
  1340.  
  1341.         ftp.centerline.com:/pub/tags-1.0.tar.Z
  1342.  
  1343. ftp.centerline.com is 140.239.2.29.  Anonymous ftp means login as "ftp" and
  1344. give your email address as the password.
  1345.  
  1346. If you don't have ftp access to the internet, you may want to wait for this
  1347. stuff to come out in comp.sources.unix.  Or, if you plan to use it right away,
  1348. send me a letter that says "I can't use ftp; please send by email" and I will
  1349. do so.
  1350.  
  1351.  
  1352. >24  short tool
  1353.  
  1354. From: neil@aldur.demon.co.uk (Neil Wilson)
  1355. Subject: New version of 'short' available
  1356. Date: Sat, 7 Aug 1993 09:38:25 +0000
  1357.  
  1358. A new beta release (1.2) of 'short' is available from the Stuttgart
  1359. Eiffel archive (ftp.informatik.uni-stuttgart.de) in directory
  1360. /pub/eiffel/eiffel-3/sig
  1361.  
  1362. Command line processing is now included in the short system. Short can
  1363. now cope with multiple input files, the standard input and deal with
  1364. most file errors.
  1365.  
  1366. Short now depends on the argument cluster which is available from
  1367. the same archive and directory.
  1368.  
  1369. Short supports the following options:
  1370.  
  1371.         -V, +version, -h, +help
  1372.                 Displays the 'short' version information and gives the
  1373.                 usage help message for the command.
  1374.  
  1375.         -e, +abstract, +eiffel
  1376.                 Produces a fully deferred version of the input class(es)
  1377.                 which will compile just like any other class (hopefully :-)
  1378.  
  1379.         -l <class_name>, +view <class_name>
  1380.                 Produces the output from the point of view of the class
  1381.                 <class_name> - the "short form for <class_name>".
  1382.                 Special handling for ANY and NONE of course. By default
  1383.                 short outputs the "short form for ANY".
  1384.  
  1385.         -f, +full
  1386.                 Produces the short form including all the feature
  1387.                 blocks.  (Implemented as the "short form for NONE".)
  1388.  
  1389.         -p, +parents
  1390.                 Retains the inheritance clause in the output. The default is
  1391.                 to drop it.
  1392.  
  1393.         -b <number>, +blank <number>
  1394.                 Indent levels by <number> characters. 
  1395.  
  1396.         -c <number>, +column <number>
  1397.                 Width of the output is <number> characters. Should be
  1398.                 greater than 20.
  1399.  
  1400. Obsolete features are not retained. Obsolete classes retain no features.
  1401.  
  1402. The output of the tool now conforms to the layout rules in Appendix A of
  1403. ETL and should look like the 'short' examples in the book. As much as is
  1404. possible the output and command line options conform to ISE's 2.3
  1405. version of 'short'.
  1406.  
  1407. This release of short has been tested on all the v1.21 Eiffel/S
  1408. libraries, itself and the argument clusters, plus any other class
  1409. fragments I had lying around at the time.
  1410.  
  1411. My biggest debt is of course to David Morgan. This version is only
  1412. really a tiny modification of his work. His ELEXER Eiffel 3 parser
  1413. remains the core of the tool.  I though am responsible for any remaining
  1414. deficiencies or problems with this release.
  1415.  
  1416. Problems, suggestions, comments, criticisms to me please. All gratefully
  1417. received - I can't improve my Eiffel if somebody doesn't tell me where I
  1418. blew it.
  1419.  
  1420.  
  1421. >25  COOL(C++, Cfront 2.1, from GE)
  1422.  
  1423. COOL is a C++ class library developed at Texas Instruments.
  1424.  
  1425. Features are:
  1426. 1. Rich set of containers like Vector, List, Hash_Table, Matrix, etc...
  1427. 2. Hierarchy is shallow with no common base class, rather than deep like NIHCL.
  1428. 3. Functionality close to Common Lisp data structures, like GNU libg++.
  1429. 4. Template syntax very close to Cfront3.x, g++2.x.
  1430. 5. Free, with good documentation, and extensive test cases.
  1431.  
  1432. Light version of COOL from General Electric:
  1433. 1. Hairy macros, run-time type, exceptions removed for mainstream C++
  1434.    compatibility
  1435. 2. Free of memory leaks and bound violations. Leaks and bounds are checked
  1436.    with Purify.
  1437. 3. Has memory management and efficient copy in expressions like:
  1438.   Set c = a+b+c;    
  1439.   Pointers are shared with Handle and Reference count. Deep copy in
  1440.   expressions are replaced by shallow copy.
  1441. 4. Compatible with Cfront2.1, and is being converted to Cfront3.0. You can
  1442.   build both static and shared library on SunOS 4.1.x
  1443.  
  1444. 1. original version from Texas Instruments:
  1445.    at csc.ti.com, get pub/COOL.tar.Z
  1446. 2. Cfront2.1 version modified by General Electric:
  1447.    at cs.utexas.edu, get pub/COOL/GE_COOL2.1.tar.Z
  1448.  
  1449. I am working on Cfront3.0 version of COOL, using the Beta 3.0 from Sun. I am
  1450. experiencing problems with instantiation and specialization of templates.  So
  1451. Cfront3.0 version of COOL won't be available until Sun's Cfront 3.0 is
  1452. released with bugs fixed.
  1453.  
  1454. Van-Duc Nguyen
  1455. General Electric 
  1456. Research & Development Ctr
  1457. 1 River Road, Room K1-5C39.
  1458. Schenectady, NY 12301.
  1459. Phone: (518) 387-5659
  1460. Fax:   (518) 387-6845
  1461. nguyen@crd.ge.com
  1462.  
  1463.  
  1464. >26  idl.SunOS4.x, idl.Solaris2.x
  1465.  
  1466. Subject: Binaries for OMG IDL CFE placed on omg.org
  1467. Date: 11 Jun 93 00:13:11 GMT
  1468. Reply-To: jyl@toss.eng.sun.com
  1469.  
  1470.  
  1471. SunSoft has made available statically linked binaries for the OMG IDL CFE,
  1472. for both Solaris 1.x and Solaris 2.x. Because they are statically linked,
  1473. these binaries can be used on systems which do not have the SparcWorks (TM)
  1474. compilers installed.
  1475.  
  1476. It is expected that people who only want an IDL parser will prefer to
  1477. obtain these binaries instead of compiling the program on their host.
  1478. People who want to build a complete compiler, by programming their own
  1479. back-end, will continue to obtain the sources which are also provided at
  1480. the same location.
  1481.  
  1482. The binaries can be obtained by anonymous FTP to omg.org. They are
  1483. installed in the directory pub/OMG_IDL_CFE_1.2/bin, in idl.SunOS4.x and
  1484. idl.Solaris2.x. Uuencoded versions are also available, in the same
  1485. directory.
  1486.  
  1487. Please send email to idl-cfe@sun.com if you obtain these files.
  1488.  
  1489. The attached copyright applies to the provided binaries and to the source
  1490. files provided on the omg.org file server.
  1491.  
  1492.  
  1493. Copyright:
  1494. Copyright 1992 Sun Microsystems, Inc.  Printed in the United States of
  1495. America.  All Rights Reserved.
  1496.  
  1497. This product is protected by copyright and distributed under the following
  1498. license restricting its use.
  1499.  
  1500. The Interface Definition Language Compiler Front End (CFE) is made
  1501. available for your use provided that you include this license and copyright
  1502. notice on all media and documentation and the software program in which
  1503. this product is incorporated in whole or part. You may copy and extend
  1504. functionality (but may not remove functionality) of the Interface
  1505. Definition Language CFE without charge, but you are not authorized to
  1506. license or distribute it to anyone else except as part of a product or
  1507. program developed by you or with the express written consent of Sun
  1508. Microsystems, Inc. ("Sun").
  1509.  
  1510. The names of Sun Microsystems, Inc. and any of its subsidiaries or
  1511. affiliates may not be used in advertising or publicity pertaining to
  1512. distribution of Interface Definition Language CFE as permitted herein.
  1513.  
  1514. This license is effective until terminated by Sun for failure to comply
  1515. with this license.  Upon termination, you shall destroy or return all code
  1516. and documentation for the Interface Definition Language CFE.
  1517.  
  1518. [...] etc. on copyright stuff [...]
  1519.  
  1520. SunSoft, Inc.  
  1521. 2550 Garcia Avenue 
  1522. Mountain View, California  94043
  1523.